//
//  CZNavigationController.swift
//  weibo
//
//  Created by Apple on 16/3/9.
//  Copyright © 2016年 KY. All rights reserved.
//

import UIKit

class CZNavigationController: UINavigationController, UIGestureRecognizerDelegate {

    override func viewDidLoad() {
        super.viewDidLoad()

        //  设置导航栏的边缘手势代理
        self.interactivePopGestureRecognizer?.delegate = self

    }

    override func pushViewController(viewController: UIViewController, animated: Bool) {
        
        super.pushViewController(viewController, animated: animated)
        
       
        //  如果是第二个视图控制器，返回按钮显示的时候第一个控制器的title
//        var title = "返回"
//        if viewControllers.count == 2 {
//            title = viewControllers.first?.title ?? title
//            viewController.navigationItem.leftBarButtonItem = UIBarButtonItem(imgName:"navigationbar_back_withtext",title: title, target: self, action: "back")
//        }
//        //  大于第二个控制器显示返回文本
//        if viewControllers.count > 2 {
//            viewController.navigationItem.leftBarButtonItem = UIBarButtonItem(imgName:"navigationbar_back_withtext",title: title, target: self, action: "back")
//            
//        }
//        
//        //  不是第一个控制器需要加上文本框和push按钮
//        if viewControllers.count > 1 {
//            //  设置title显示当前是push进来第几个视图控制器,第一个控制器是首页视图控制器
//            viewController.navigationItem.title = "当前显示的是\(viewControllers.count)个控制器"
//
//        }
        
        
        if viewControllers.count > 1 {
            var title = "返回"
            if viewControllers.count == 2 {
                title = viewControllers.first?.title ?? title
                viewController.navigationItem.leftBarButtonItem = UIBarButtonItem(imgName:"navigationbar_back_withtext",title: title, target: self, action: "back")
            }
            //  大于第二个控制器显示返回文本
            viewController.navigationItem.leftBarButtonItem = UIBarButtonItem(imgName:"navigationbar_back_withtext",title: title, target: self, action: "back")
            
            //  不是第一个控制器需要加上文本框和push按钮
            
            //  设置title显示当前是push进来第几个视图控制器,第一个控制器是首页视图控制器
            viewController.navigationItem.title = "当前显示的是\(viewControllers.count)个控制器"
            
        }
       
        
        
    }

    @objc private func back() {
        popViewControllerAnimated(true)
    }
 
    //  边缘手势代理
    func gestureRecognizerShouldBegin(gestureRecognizer: UIGestureRecognizer) -> Bool {
        
        //  不是跟视图控制器就可以边缘滑动
        return viewControllers.count != 1
    }

}
